import { BrowserModule } from '@angular/platform-browser';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { EmptyComponent } from './component/empty.component';
import { NZ_I18N } from 'ng-zorro-antd/i18n';
import { zh_CN } from 'ng-zorro-antd/i18n';
import { registerLocaleData } from '@angular/common';
import zh from '@angular/common/locales/zh';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NzModule } from './module/nz.module';
import { LayoutModule } from './layout/layout.module';
import { TabComponent } from './component/tab/tab.component';
import { RouteReuseStrategy } from '@angular/router';
import { AppReuseStrategy } from '@ds/ds-micro-lib/dist';
import { IndexComponent } from './page/index/index.component';

registerLocaleData(zh);

@NgModule({
  declarations: [AppComponent, EmptyComponent, TabComponent, IndexComponent],
  imports: [BrowserModule, AppRoutingModule, FormsModule, HttpClientModule, NzModule, LayoutModule, BrowserAnimationsModule],
  providers: [
    { provide: NZ_I18N, useValue: zh_CN },
    { provide: RouteReuseStrategy, useClass: AppReuseStrategy },
  ],
  bootstrap: [AppComponent],
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
export class AppModule {}
